Method for quick weighing of loose and small packages of traditional Chinese medicine (TCM)

ABSTRACT

The present disclosure discloses a method for quick weighing of loose and small packages of traditional Chinese medicine (TCM), comprising: 1) establishing an equivalent physical model of a weighing system for loose and small packages, and, through Laplace transformation and Z transformation, obtaining a formula of the mass M of medicine packages to be weighed; 2) calculating a 1 , a 2 , b 1  and b 2  on the basis of a vector prediction error; 3) according to a 1 , a 2 , b 1 , and b 2  obtained and the formula of the mass of medicine packages to be weighed, obtaining the mass of the loose and small packages of TCM that are weighed. According to the method, the scalar prediction error is expanded into the vector prediction error based on the traditional method so as to construct a new identification model based on the vector prediction error, and as a result the utilization efficiency of prediction error turns higher.

TECHNICAL FIELD

The present disclosure relates to the technical field of automatic medicine cabinets, and in particular to a method for weighing traditional Chinese medicines in loose and small packages.

BACKGROUND

Traditional Chinese medicine (hereinafter referred to as TCM), which has a long history in China, is one of the three quintessences in Chinese culture. As a valuable asset of Chinese medicine, TCM has always enjoyed great popularity among patients. With the development of the age and the continuous progress of science and technology, traditional TCM decoction pieces have been transformed into new modern TCM ones, and small packages of TCM decoction pieces have emerged thereby. Small packages of TCM has many advantages, such as unchanged medicine character, accurate dosage, facilitating review, cleanness and hygiene, convenient dispensing, and improving efficiency, which have been widely used in medical institutions in recent decades and received very positive responses, seeing an extremely promising development prospect.

In the prior art, in order to improve the efficiency of TCM prescription filling and dispensing, many kinds of automatic TCM cabinets and automatic prescription filling devices have emerged. For example, an automatic medicine dispensing device with full-coverage chuck array and the control method thereof is provided in the previous application No. 201910614948.9 claimed by the applicant, wherein a full-coverage vacuum suction robot is disclosed, and this method uses this robot to grasp medicine packages and weighs the small packages of TCM by using an electronic weighing device and by controlling a vacuum-chuck air circuit, so as to obtain a specified number of medicine packages.

In the prior art, when vacuum chucks are used to grasp small packages of TCM, it cannot guarantee that each vacuum chuck can successfully grasp the medicine package, so when the vacuum chuck is controlled to release the medicine package, a problem may come out that a number of medicine packages dropped on the electronic weighing device may be inconsistent with the required number of medicine packages, thus affecting the time for prescription filling.

In addition, the electronic weighing device in the prior art will go through an unstable oscillation period if any medicine packages fall on it, during which there would be a large weighing error. In order to prevent the weighing accuracy from being affected by an electronic scale's oscillation caused by dropping medicine packages, usually, the practice in the prior art is to sample and calculate after the electronic scale resumes stability. However, waiting for the electronic scale to stabilize is time consuming and reduces the efficiency of prescription filling.

In order to solve the problem that the electronic scale has to wait until stabilized for weighing in the traditional weighing method, a dynamic weighing method is disclosed in a method for dynamic weighing of TCM in loose small packages with the patent No. 202010706273.3. Based on the traditional least square identification model, this method adopts a recursive algorithm which can reduce computing resources and overheads to a certain degree, thus reducing the weighing time and improving the weighing efficiency. However, it still works with current-time scalar prediction errors of the traditional identification model, which has a defect of low data utilization, so that the coefficient identification efficiency of this weighing model needs further improvement.

In addition, in the traditional identification model, a current-time scalar prediction error is used for recursive iteration every time and fails to effectively use an overall data change trend within the local neighborhood and the vector prediction error information, thus resulting in problems such as slow convergence of weighing model coefficients and large fluctuation of steady-state errors.

SUMMARY

For this purpose, the present disclosure aims at providing a method for quick weighing of loose and small packages of traditional Chinese medicine (TCM) in order to solve technical problems, i.e., to further improve the weighing accuracy and reduce the weighing time of loose and small packages of TCM.

According to the present disclosure, the method for quick weighing of loose and small packages of TCM includes:

-   -   1) Establishing an equivalent physical model of a weighing         system for loose and small packages:

$\begin{matrix} {{{\left( {M + m} \right)\frac{d{y(t)}^{2}}{d^{2}t}} + {c\frac{d{y(t)}}{dt}} + {k{y(t)}}} = {{Mgu}(t)}} & (1) \end{matrix}$

Wherein, m is the equivalent mass of the medicine receiving tank; M is the mass of medicine packages to be weighed; y(t) is the output signal of the weighing system; g is the gravitational acceleration; c is the equivalent damping coefficient of the weighing system; k is the equivalent elastic coefficient of the weighing system; when loose and small packages of TCM fall on the medicine receiving tank, the medicine packages will vibrate synchronously with the weighing system represented by the medicine receiving tank, which may be regarded as applying a step signal Mgu(t) to the weighing system, wherein u(t) represents the step signal; after Laplace transformation, the output signal is obtained as follows:

$\begin{matrix} {{Y(s)} = {{Mg} \cdot \frac{1}{s} \cdot \frac{1}{{\left( {M + m} \right)s^{2}} + {cs} + k}}} & (2) \end{matrix}$

Since the sampled signal is a discrete value, Z transformation is performed for Y (s) so as to obtain:

$\begin{matrix} {{Y(z)} = {\frac{{b_{1}z^{- 1}} + {b_{2}z^{- 2}}}{1 + {a_{1}z^{- 1}} + {a_{2}z^{- 2}}} \cdot {U(z)}}} & (3) \end{matrix}$

Wherein a₁, a₂, b₁, and b₂ are coefficients related to M, m, c, and k; and taking into account a weighing error caused by noise at an input terminal, the formula (3) is expressed by a difference equation as: y(t)=−a ₁ y(t−1)−a ₂ y(t−2)+b ₁ u(t−1)+b ₂ u(t−2)+e(t)  (4)

In view of the formula (3) and according to the final-value theorem of the Z transformation, a system output in a steady state is obtained as follows:

$\begin{matrix} {{\lim\limits_{t\rightarrow\infty}{y(t)}} = {{\lim\limits_{z\rightarrow 1}{\left( {z - 1} \right) \cdot {Y(z)}}} = {\frac{b_{1} + b_{2}}{1 + a_{1} + a_{2}} = \frac{Mg}{k}}}} & (5) \end{matrix}$

-   -   As a result, a calculation formula is obtained for the mass of         medicine packages to be weighed M as follows:

$\begin{matrix} {M = {\frac{k}{g} \cdot \frac{b_{1} + b_{2}}{1 + a_{1} + a_{2}}}} & (6) \end{matrix}$

Wherein g is the gravitational acceleration, and k is the equivalent elastic coefficient of the weighing system;

-   -   2) Calculating a₁, a₂, b₁, and b₂ on the basis of a vector         prediction error, including:     -   a) A scalar prediction error at the time t of a sample sequence         of the weighing system is defined as:         e(t)=y(t)−[−â ₁ y(t−1)−â ₂ y(t−2)+{circumflex over (b)} ₁         u(t−1)+{circumflex over (b)} ₂ u(t−2)]=y(t)−φ^(T)         _(t){circumflex over (θ)}_(t−1)  (7)

In the formula t>2, wherein: φ_(t)=[−y(t−1),−y(t−2),u(t−1),u(t−2)]²  (8) {circumflex over (θ)}_(t−1)=[â ₁ ,â ₂ ,{circumflex over (b)} ₁ ,{circumflex over (b)} ₂]^(T)  (9)

φ_(t) represents an information vector of the system at a time of the t^(th) sample point, {circumflex over (θ)}_(t−1) represents a coefficient identification result of the system at a time before the t^(th) sample point; y(t) represents a sample output sequence at the t^(th) sample point, y(t−1) represents a sample output sequence at a time before the t^(th) sample point, y(t−2) represents a sample output sequence at two times before the t^(th) sample point; u(t−1) is a sample output sequence at a time before the t^(th) sample point, u(t−2) is a sample output sequence at two times before the t^(th) sample point; â₁ is an estimated value of the coefficient a₁, â₂ is an estimated value of the coefficient a₂, {circumflex over (b)}₁, is an estimated value of the coefficient b₁, and b₂ is an estimated value of the coefficient b₂;

-   -   b) By taking into consideration p_(t) sets of data in total from         the time t−p_(t)+1 to the time t of the weighing system sample         sequence, it is set that:

$\begin{matrix} {Y_{t}^{p_{t}} = \begin{bmatrix} {y(t)} \\ {y\left( {t - 1} \right)} \\ {\vdots\vdots} \\ {y\left( {t - p_{t} + 1} \right)} \end{bmatrix}} & (10) \end{matrix}$ $\begin{matrix} {\Phi_{t}^{p_{t}} = \left\lbrack {\varphi_{t},\varphi_{t - 1},\cdots,\varphi_{t - p_{t} + 1}} \right\rbrack} & (11) \end{matrix}$

Wherein: p_(t) is a length of time window; Y_(t) ^(p) ^(t) represents an output vector formed by inverting a sample output sequence within a range p_(t) of the system previous to a time t; Φ_(t) ^(p) ^(t) represents an information matrix formed by inverting an information vector within a range p_(t) previous to a time t; p_(t) is a variable that varies along with any change of statistical properties of locally sampled data at the time t, resulting in the vector prediction error with an extended length of time window of p_(t) as follows:

$\begin{matrix} {E_{t}^{p_{t}} = {\begin{bmatrix} {e(t)} \\ {e\left( {t - 1} \right)} \\  \vdots \\ {e\left( {t - p_{t} + 1} \right)} \end{bmatrix} = \begin{bmatrix} {{y(t)} - {\varphi_{t}^{T}{\overset{\hat{}}{\theta}}_{t - 1}}} \\ {{y\left( {t - 1} \right)} - {\varphi_{t - 1}^{T}{\overset{\hat{}}{\theta}}_{t - 2}}} \\  \vdots \\ {{y\left( {t - p_{t} + 1} \right)} - {\varphi_{t - p_{t} + 1}^{T}{\overset{\hat{}}{\theta}}_{t - p_{t}}}} \end{bmatrix}}} & (12) \end{matrix}$

E_(t) ^(p) ^(t) represents a vector formed by inverting a scalar prediction error sequence within a range p_(t) of the system previous to a time t; and, given that theoretically θ_(t−1) is closer to a real value θ than an estimated value of a system coefficient at a previous time, {circumflex over (θ)}_(t−1) is used to replace the estimated value of the system coefficient at the previous time, so that the above formula may be altered into:

$\begin{matrix} {E_{t}^{p_{t}} = {\begin{bmatrix} {{y(t)} - {\varphi_{t}^{T}{\overset{\hat{}}{\theta}}_{t - 1}}} \\ {{y\left( {t - 1} \right)} - {\varphi_{t - 1}^{T}{\overset{\hat{}}{\theta}}_{t - 1}}} \\  \vdots \\ {{y\left( {t - p_{t} + 1} \right)} - {\varphi_{t - p_{t} + 1}^{T}{\overset{\hat{}}{\theta}}_{t - 1}}} \end{bmatrix} = {Y_{t}^{p_{t}} - {{\Phi^{T}}_{t}^{p_{t}}{\overset{\hat{}}{\theta}}_{t - 1}}}}} & (13) \end{matrix}$

It can be known from the formula (13) that the weighing system is based on an identification model of a vector prediction error: Ŷ _(t) ^(p) ^(t) =Φ_(t) ^(Tp) ^(t) {circumflex over (θ)}_(t−1) +E _(t) ^(p) ^(t)   (14)

The formula (14) is expressed as the identification model of the vector prediction error:

-   -   c) According to the identification model of the vector         prediction error, a criterion function is defines as below:

$\begin{matrix} {{J\left( {\overset{\hat{}}{\theta}}_{t - 1} \right)} = {{\sum\limits_{i = 1}^{t}{{Y_{i}^{p_{i}} - {\Phi^{T}{\,_{i}^{P_{i}}{\hat{\theta}}_{i - 1}}}}}^{2}} = {\sum\limits_{i = 1}^{t}{E_{i}^{p_{i}}}^{2}}}} & (15) \end{matrix}$

Wherein ∥E_(i) ^(p) ^(i) ∥ is a 2-norm of the vector E_(i) ^(p) ^(i) , and J({circumflex over (θ)}_(t−1)) is a criterion function;

d) {circumflex over (θ)}_(t−1) that may minimize the criterion function is evaluated to obtain a coefficient estimated value based on the identification model of the vector prediction error.

$\begin{matrix} {Z_{t} = \begin{bmatrix} Y_{1}^{p_{1}} \\ Y_{2}^{p_{2}} \\  \vdots \\ Y_{t}^{p_{t}} \end{bmatrix}} & (16) \end{matrix}$ $\begin{matrix} {H_{t} = \begin{bmatrix} {\Phi_{}^{T}}_{1}^{p_{1}} \\ {\Phi_{}^{T}}_{2}^{p_{2}} \\  \vdots \\ {\Phi_{}^{T}}_{t}^{p_{t}} \end{bmatrix}} & (17) \end{matrix}$

-   -   So that the criterion function may be expressed as:         J({circumflex over (θ)}_(t−1))=(Z _(t) −H _(t){circumflex over         (θ)}_(t−1))^(T)(Z _(t) −H _(t){circumflex over (θ)}_(t−1))  (18)

A vector differential formula is used to derive J ({circumflex over (θ)}_(t−1)) and set the result thereof as 0, so as to calculate {circumflex over (θ)}_(t−1) that may minimize the criterion function:

$\begin{matrix} {{\overset{\hat{}}{\theta}}_{t - 1} = {{\left( {H_{t}^{T}H_{t}} \right)^{- 1}H_{t}^{T}Z_{t}} = {\left\lbrack {\sum\limits_{i = 1}^{t}{\Phi{\,_{i}^{P_{i}}\Phi^{T}}\,_{i}^{P_{i}}}} \right\rbrack^{- 1}\left\lbrack {\sum\limits_{i = 1}^{t}{\Phi{\,_{I}^{P_{i}}Y^{T}}\,_{i}^{P_{i}}}} \right\rbrack}}} & (19) \end{matrix}$

-   -   d) The recursive calculation form of {circumflex over (θ)}_(t−1)         is derived, which sets that:

$\begin{matrix} {R_{t}^{- 1} = {\sum\limits_{i = 1}^{t}{\Phi_{i}^{p_{i}}\Phi_{i}^{{Tp}_{i}}}}} & (20) \end{matrix}$

So that: R _(t) ⁻¹ =R _(t−1) ⁻¹+Φ_(t) ^(P) ^(t) Φ_(t) ^(Tp) ^(t)   (21)

After the simplification of the above formula by using the matrix inversion theorem, a recursive formula for identifying coefficients based on the identification model of vector prediction error is finally obtained as follows:

$\left\{ \begin{matrix} {{\overset{\hat{}}{\theta}}_{t + 1} = {{\overset{\hat{}}{\theta}}_{t} + {L_{t + 1}E_{t + 1}^{p_{t}}}}} & {\,(22)} \\ {L_{t + 1} = {R_{t}{\Phi_{t + 1}^{p_{t}}\left\lbrack {I_{p_{t}} + {\Phi_{t + 1}^{{Tp}_{t}}R_{t}\Phi_{t + 1}^{p_{t}}}} \right\rbrack}^{- 1}}} & \left( {23} \right) \\ {R_{t + 1} = {R_{t} - {L_{t + 1}\Phi_{t + 1}^{{Tp}_{t}}R_{t}}}} & {(24)} \end{matrix} \right.$

Wherein L_(t+1) is an algorithm gain vector; the coefficient estimation vector {circumflex over (θ)}_(t+1), at the time t+1 is the product of the gain vector L_(t+1) and the vector prediction error E_(t+1) ^(p) ^(t) , which corrects the coefficient estimation vector {circumflex over (θ)}_(t) at the time t;

Here is the recursion process:

-   -   (1) Initialization: a start time is set as t₀=5, which indicates         the recursion process starts from the fifth sampling point of         the sampling sequence, {circumflex over (θ)}₅=[0,0,0,0]^(T);         R₅=α·I₄, wherein a is a sufficiently large positive integer, I₄         represents an identity matrix of 4×4; and at the same time, a         number of times, N, of recursive iteration is determined;     -   (2) By analyzing the statistical characteristics of locally         sampled data, the length of time window p_(t) is determined; at         the same time, the sample output sequence and the input sequence         of the weighing system are obtained to construct an output         vector Y_(t+1) ^(p) ^(t) according to the formula (10), and to         construct an information matrix t according to the formulas (8)         (11); and then a vector prediction error E_(t+1) ^(p) ^(t) is         obtained by using the formula (13);     -   (3) L_(t+1) and R_(t+1) are calculated according to the         formula (23) and formula (24) in the recursion formula, and then         {circumflex over (θ)}_(t+1) is calculated according to the         formula (22);     -   (4) It is determined whether t=t+1 has reached a specified         number of iteration times N. If not, proceed to the step (2), or         otherwise end the recursion process;

3) According to a₁, a₂, b₁, and b₂ obtained in the step 2) and the formula (6), obtaining the weight of the loose and small packages of TCM that are weighed.

Further, the length of time window p_(t) is determined by the method below:

A length interval of the time window of the t^(th) sample time is defined as follows: P _(t)∈[P _(min) ,P _(max)]  (25)

Wherein P_(min) represents the lower limit value of the length interval, and P_(max) represents the upper limit value of the length interval, i.e., the length of the time window p_(t) can slide from P_(min) to P_(max) according to statistical characteristics of the sampled data;

A standard deviation of a sequence formed by d system sample output values previous to a time t is defined as follows:

$\begin{matrix} {S_{t} = \sqrt{\frac{\sum\limits_{i = {t - d + 1}}^{t}\left( {y_{i} - \overset{\_}{y}} \right)^{2}}{d}}} & (26) \end{matrix}$

Wherein, it can be seen from tests for d that the stability and smoothness of local data can be better reflected when d=5; y_(i) represents a system sample output value at the i^(th) sample time, and y represents an average sample value of a sequence formed by d system sample output values previous to the time t, which is calculated by the following formula:

$\begin{matrix} {\overset{\_}{y} = {\frac{1}{d} \cdot {\overset{t}{\sum\limits_{i = {t - d + 1}}}y_{i}}}} & (27) \end{matrix}$

An initial recursive time of the recursive algorithm is set as t₀, and a sample standard deviation of d pieces of data previous to the initial time by the formula (26), which is set as S_(t0); and a self-adaptive function of the time window length is used to determine the time window length p_(t) at the sample time t as follows:

$\begin{matrix} {p_{t} = \left\lbrack {\left( {1 - \frac{S_{t}}{S_{t0}}} \right) \cdot P_{\max}} \right\rbrack} & (28) \end{matrix}$

Wherein,

$\left\lbrack {\left( {1 - \frac{S_{t}}{S_{t0}}} \right) \cdot P_{\max}} \right\rbrack$ represents a maximum integer not more than a real number

$\left( {1 - \frac{S_{t}}{S_{t0}}} \right) \cdot {P_{\max}.}$

Further, in the recursion process, α=10⁷, and the number of iteration times N is 8-10.

The present disclosure is beneficial in:

-   -   1. The traditional least square identification algorithm only         uses a scalar prediction error at the latest time to correct a         coefficient identification result at a time before in the course         of the identification of a₁, a₂, b₁, and b₂, thus leading to         quite low data utilization. According to the method for quick         weighing of loose and small packages of TCM in the present         disclosure, the scalar prediction error is expanded into the         vector prediction error based on the traditional method so as to         construct a new identification model based on the vector         prediction error, and as a result the utilization efficiency of         prediction error turns higher. It could be known through an         actual weighing comparison test that, compared with the         traditional weighing method, the weighing method provided by the         present disclosure has faster convergence, higher coefficient         identification accuracy, and reduces the weighing time and         improves the weighing efficiency.     -   2. As for the time window length p_(t) in the present         disclosure, as the value of p_(t) increases, the identification         accuracy of the identification method based on an identification         model of multi-vector prediction error will increase as well,         however, correspondingly, the identification speed will decrease         due to the increase of the time window width. As the value of         p_(t) decreases, the identification accuracy decreases as well,         but the identification speed increases. Therefore, p_(t) can be         set neither too large nor too small, so it is a technical         problem to take into consideration both identification accuracy         and identification speed.     -   According to the method for quick weighing of loose and small         packages of TCM, the time window length p_(t) is automatically         determined through the constructed self-adaptive function of the         time window length, thereby the technical problem of balancing         the identification accuracy and identification speed based on         the identification model of the multi-vector prediction error is         solved.     -   3. In the traditional identification model, a current-time         scalar prediction error is used for recursive iteration every         time and fails to effectively use an overall data change trend         within the local neighborhood and the vector prediction error         information, thus resulting in problems such as slow convergence         of weighing model coefficients and large fluctuation of         steady-state errors. However, the method for quick weighing of         loose and small packages of TCM provided in the present         disclosure constructs a new identification model based on the         vector prediction error and uses the vector prediction error in         the range of the time window length p_(t) to perform recursive         iteration, and makes full use of the overall change trend         information of data within the local neighborhood. In addition,         it is verified by experiment that compared with the         identification model which adopts current-time scalar prediction         error to perform recursive iteration each time the method of the         present disclosure provides faster convergence of weighing model         coefficients, and has an advantage of smaller fluctuation of         steady-state errors.     -   4. The method for quick weighing of loose and small packages of         TCM provided in the present disclosure is applied to not only         weighing of loose and small packages of TCM, but also to other         food or medicines in loose packages in need of quick weighing.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a graph of the AD sampling result of an electronic weighing signal.

FIG. 2 shows the identification result by using the traditional least square identification method.

FIG. 3 shows the identification result based on the identification model of the vector prediction error.

FIG. 4 shows a structure of a weighing system according to the present disclosure.

DETAILED DESCRIPTION

The present disclosure will be further described with reference to figures and embodiments below.

In this embodiment, a method for quick weighing of loose and small packages of TCM is provided. The method is performed by a weighing system 400 comprising a weighing sensor 401 and a processor 402. The method includes:

-   -   1) Establishing an equivalent physical model of a weighing         system for loose and small packages:

$\begin{matrix} {{{\left( {M + m} \right)\frac{d{y(t)}^{2}}{d^{2}t}} + {c\frac{d{y(t)}}{dt}} + {k{y(t)}}} = {Mg{u(t)}}} & (1) \end{matrix}$

Wherein, m is the equivalent mass of the medicine receiving tank; M is the mass of medicine packages to be weighed; y(t) is the output signal of the weighing system; g is the gravitational acceleration; c is the equivalent damping coefficient of the weighing system; k is the equivalent elastic coefficient of the weighing system; when loose and small packages of TCM fall on the medicine receiving tank, the medicine packages will vibrate synchronously with the weighing system represented by the medicine receiving tank, which may be regarded as applying a step signal Mgu(t) to the weighing system, wherein u(t) represents the step signal. After Laplace transformation, the formula (1) obtains the output signal as follows:

$\begin{matrix} {{Y(s)} = {{Mg} \cdot \frac{1}{s} \cdot \frac{1}{{\left( {M + m} \right)s^{2}} + {cs} + k}}} & (2) \end{matrix}$

Since the sampled signal is a discrete value, Z transformation is performed for Y (s) so as to obtain:

$\begin{matrix} {{Y(z)} = {\frac{{b_{1}z^{- 1}} + {b_{2}z^{- 2}}}{1 + {a_{1}z^{- 1}} + {a_{2}z^{- 2}}} \cdot {U(z)}}} & (3) \end{matrix}$

Wherein a₁, a₂, b₁, and b₂ are coefficients related to M, m, c and k. Taking into account a weighing error caused by noise at an input terminal, the formula (3) is expressed by a difference equation as: y(t)=−a ₁ y(t−1)−a ₂ y(t−2)+b ₁ u(t−1)+b ₂ u(t−2)+e(t)  (4)

In view of the formula (3) and according to the final-value theorem of the Z transformation, a system output in a steady state is obtained as follows:

$\begin{matrix} {{\lim\limits_{t\rightarrow\infty}{y(t)}} = {{\lim\limits_{z\rightarrow 1}{\left( {z - 1} \right) \cdot {Y(z)}}} = {\frac{b_{1} + b_{2}}{1 + a_{1} + a_{2}} = \frac{Mg}{k}}}} & (5) \end{matrix}$

As a result, a calculation formula is obtained for the mass of medicine packages to be weighed M as follows:

$\begin{matrix} {M = {\frac{k}{g} \cdot \frac{b_{1} + b_{2}}{1 + a_{1} + a_{2}}}} & (6) \end{matrix}$

-   Wherein g is the gravitational acceleration, and k is the equivalent     elastic coefficient of the weighing system. k, as a constant related     to the weighing system, may be determined by experiment.

It can be known from the formula (6) that the key point of calculating the mass M of medicine packages to be weighed is identification of the weighing system coefficients a₁, a₂, b₁, and b₂.

-   -   2) Calculating a₁, a₂, b₁, and b₂ on the basis of a vector         prediction error, comprising:     -   a) A scalar prediction error at the time t of a sample sequence         of the weighing system is defined as:         e(t)=y(t)−[−â ₁ y(t−1)−â ₂ y(t−2)+{circumflex over (b)} ₁         u(t−1)+{circumflex over (b)} ₂ u(t−2)]=y(t)−φ^(T)         _(t){circumflex over (θ)}_(t−1)  (7)

In the formula t>2, wherein: φ_(t)=[−y(t−1),−y(t−2),u(t−1),u(t−2)]²  (8) {circumflex over (θ)}_(t−1)=[â ₁ ,â ₂ ,{circumflex over (b)} ₁ ,{circumflex over (b)} ₂]^(T)  (9)

φ_(t) represents an information vector of the system at a time of the t^(th) sample point, {circumflex over (θ)}_(t−1) represents a coefficient identification result of the system at a time before the t^(th) sample point; y(t) represents a sample output sequence at the t^(th) sample point, y(t−1) represents a sample output sequence at a time before the t^(th) sample point, y(t−2) represents a sample output sequence at two times before the t^(th) sample point; u(t−1) is a sample output sequence at a time before the t^(th) sample point, u(t−2) is a sample output sequence at two times before the t^(th) sample point; â₁ is an estimated value of the coefficient a₁, â₂ is an estimated value of the coefficient a₂, {circumflex over (b)}₁ is an estimated value of the coefficient b₁, and {circumflex over (b)}₂ is an estimated value of the coefficient b₂.

-   -   b) By taking into consideration p_(t) sets of data in total from         the time t−p_(t)+1 to the time t of the weighing system sample         sequence, it is set that:

$\begin{matrix} {Y_{t}^{p_{t}} = \begin{bmatrix} {y(t)} \\ {y\left( {t - 1} \right)} \\  \vdots \\ {y\left( {t - p_{t} + 1} \right)} \end{bmatrix}} & (10) \end{matrix}$ $\begin{matrix} {\Phi_{t}^{p_{t}} = \left\lbrack {\varphi_{t},\varphi_{t - 1},\cdots,\varphi_{t - p_{t} + 1}} \right\rbrack} & \left( {11} \right) \end{matrix}$

Wherein: p_(t) is a length of time window; Y_(t) ^(p) ^(t) represents an output vector formed by inverting a sample output sequence within a range p_(t) of the system previous to a time t; Φ_(t) ^(p) ^(t) represents an information matrix formed by inverting an information vector within a range p_(t) previous to a time t; p_(t) is a variable that varies along with any change of statistical properties of locally sampled data at the time t, resulting in the vector prediction error with an extended length of time window of p_(t) as follows:

$\begin{matrix} {E_{t}^{p_{t}} = {\begin{bmatrix} {e(t)} \\ {e\left( {t - 1} \right)} \\  \vdots \\ {e\left( {t - p_{t} + 1} \right)} \end{bmatrix} = \begin{bmatrix} {{y(t)} - {\varphi_{t}^{T}{\hat{\theta}}_{t - 1}}} \\ {{y\left( {t - 1} \right)} - {\varphi_{t - 1}^{T}{\hat{\theta}}_{t - 2}}} \\  \vdots \\ {{y\left( {t - p_{t} + 1} \right)} - {\varphi_{t - p_{t} + 1}^{T}{\hat{\theta}}_{t - p_{t}}}} \end{bmatrix}}} & (12) \end{matrix}$

E_(t) ^(p) ^(t) represents a vector formed by inverting a scalar prediction error sequence within a range p_(t) of the system previous to a time t; and, given that theoretically θ_(t−1) is closer to a real value θ than an estimated value of a system coefficient at a previous time, θ_(t−1) is used to replace the estimated value of the system coefficient at the previous time, so that the above formula may be altered into:

$\begin{matrix} {E_{t}^{p_{t}} = {\begin{bmatrix} {{y(t)} - {\varphi_{t}^{T}{\hat{\theta}}_{t - 1}}} \\ {{y\left( {t - 1} \right)} - {\varphi_{t - 1}^{T}{\hat{\theta}}_{t - 1}}} \\  \vdots \\ {{y\left( {t - p_{t} + 1} \right)} - {\varphi_{t - p_{t} + 1}^{T}{\hat{\theta}}_{t - 1}}} \end{bmatrix} = {Y_{t}^{p_{t}} - {\Phi_{t}^{{Tp}_{t}}{\hat{\theta}}_{t - 1}}}}} & (13) \end{matrix}$

It can be known from the formula (13) that the weighing system is based on an identification model of a vector prediction error: Ŷ _(t) ^(p) ^(t) =Φ_(t) ^(Tp) ^(t) {circumflex over (θ)}_(t−1) +E _(t) ^(p) ^(t)   (14)

The formula (14) is expressed as the identification model of the vector prediction error.

-   -   c) According to the identification model of the vector         prediction error, a criterion function is defines as below:

$\begin{matrix} {{J\left( {\overset{\hat{}}{\theta}}_{t - 1} \right)} = {{\sum\limits_{i = 1}^{t}{{Y_{i}^{p_{i}} - {\Phi^{T}{\,_{i}^{P_{i}}{\hat{\theta}}_{i - 1}}}}}^{2}} = {\sum\limits_{i = 1}^{t}{E_{i}^{p_{i}}}^{2}}}} & (15) \end{matrix}$

Wherein ∥E_(t) ^(p) ^(t) ∥ is a 2-norm of the vector E_(t) ^(p) ^(t) , and J({circumflex over (θ)}_(t−1)) is a criterion function.

-   -   d) {circumflex over (θ)}_(t−1) that may minimize the criterion         function is evaluated to obtain a coefficient estimated value         based on the identification model of the vector prediction         error.

$\begin{matrix} {Z_{t} = \begin{bmatrix} Y_{1}^{p_{1}} \\ Y_{2}^{p_{2}} \\  \vdots \\ Y_{t}^{p_{t}} \end{bmatrix}} & (16) \end{matrix}$ $\begin{matrix} {H_{t} = \begin{bmatrix} {\Phi_{}^{T}}_{1}^{p_{1}} \\ {\Phi_{}^{T}}_{2}^{p_{2}} \\  \vdots \\ {\Phi_{}^{T}}_{t}^{p_{t}} \end{bmatrix}} & (17) \end{matrix}$

So that the criterion function may be expressed as: J({circumflex over (θ)}_(t−1))=(Z _(t) −H _(t){circumflex over (θ)}_(t−1))^(T)(Z _(t) −H _(t){circumflex over (θ)}_(t−1))  (18)

A vector differential formula is used to derive J ({circumflex over (θ)}_(t−1)) and set the result thereof as 0, so as to calculate {circumflex over (θ)}_(t−1) that may minimize the criterion function:

$\begin{matrix} {{\overset{\hat{}}{\theta}}_{t - 1} = {{\left( {H_{t}^{T}H_{t}} \right)^{- 1}H_{t}^{T}Z_{t}} = {{\left\lbrack {\sum\limits_{i = 1}^{t}{\Phi{\,_{i}^{P_{i}}\Phi^{T}}\,_{i}^{P_{i}}}} \right\rbrack^{- 1}\left\lbrack {\sum\limits_{i = 1}^{t}{\Phi{\,_{I}^{P_{i}}Y^{T}}\,_{i}^{P_{i}}}} \right\rbrack}.}}} & (19) \end{matrix}$

-   -   d) Although the formula of the coefficient {circumflex over         (θ)}_(t−1) to be identified is obtained, this formula needs to         use all the sample information of the weighing system starting         from the sample start time. The actual calculation process         consumes a large memory overhead, so that with the increase of         sample data, the inversion calculation of

[ ∑ i = 1 t Φ i p i ⁢ Φ T i p i ] - 1 in the above formula will be great in amount, which decreases the identification speed. To solve these problems, the recursive calculation form is further derived for θ_(t−1). It is set that:

$\begin{matrix} {R_{t}^{- 1} = {\sum\limits_{i = 1}^{t}{\Phi{\,_{i}^{P_{i}}\Phi^{T}}\,_{i}^{P_{i}}}}} & (20) \end{matrix}$

So that: R _(t) ⁻¹ =R _(t−1) ⁻¹+Φ_(t) ^(P) ^(t) Φ_(t) ^(Tp) ^(t)   (21)

After the simplification of the above formula by using the matrix inversion theorem, a recursive formula for identifying coefficients based on the identification model of vector prediction error is finally obtained as follows:

$\begin{matrix} {\left\{ \begin{matrix} {{\overset{\hat{}}{\theta}}_{t + 1} = {{\overset{\hat{}}{\theta}}_{t} + {L_{t + 1}E_{t + 1}^{p_{t}}}}} & {(22)} \\ {L_{t + 1} = {R_{t}{\Phi_{t + 1}^{p_{t}}\left\lbrack {I_{p_{t}} + {{\Phi^{T}}_{t + 1}^{p_{t}}R_{t}\Phi_{t + 1}^{p_{t}}}} \right\rbrack}^{- 1}}} & {(23)} \\ {R_{t + 1} = {R_{t} - {L_{t + 1}{\Phi^{T}}_{t + 1}^{p_{t}}R_{t}}}} & {(24)} \end{matrix} \right.} &  \end{matrix}$ Wherein L_(t+1) is an algorithm gain vector; the coefficient estimation vector θ_(t+1) at the time t+1 is the product of the gain vector L_(t+1) and the vector prediction error E_(t+1) ^(p) ^(t) , which corrects the coefficient estimation vector {circumflex over (θ)}_(t) at the time t.

Here is the recursion process:

-   -   (1) Initialization: a start time is set as t₀=5, which indicates         the recursion process starts from the fifth sampling point of         the sampling sequence, {circumflex over (θ)}₅=[0,0,0,0]^(T);         R₅=α·I₄, wherein a is a sufficiently large positive integer         which is set as α=10⁷ in this embodiment, and I₄ represents an         identity matrix of 4×4; and at the same time, a number of times,         N, of recursive iteration is determined, which indicates the         number of times that the recursive identification algorithm,         based on the identification model of the vector prediction         error, has been cycled and completed since the starting of the         recursion process. According to results of many tests, when         N=8□10 times, the error rate of the coefficient identification         result {circumflex over (θ)} can be less than 2%; while N=10 in         this embodiment.     -   (2) By analysing the statistical characteristics of locally         sampled data, the length of time window p_(t) is determined; at         the same time, the sample output sequence and the input sequence         of the weighing system are obtained to construct an output         vector Y_(t+1) ^(p) ^(t) according to the formula (10), and to         construct an information matrix Φ_(t+1) ^(p) ^(t) according to         the formulas (8) (11), where the sample output sequence is         collected from the weighing sensor; and then a vector prediction         error E_(t+1) ^(p) ^(t) is obtained by using the formula (13).     -   (3) L_(t+1) and R_(t+1) are calculated according to the         formula (23) and formula (24) in the recursion formula, and then         {circumflex over (θ)}_(t+1) is calculated according to the         formula (22).     -   (4) It is determined whether t=t+1 has reached a specified         number of iteration times N. If not, proceed to the step (2), or         otherwise end the recursion process.     -   3) According to a₁, a₂, b₁, and b₂ obtained in the step 2) and         the formula (6), obtaining the weight of the loose and small         packages of TCM that are weighed.

The only part of formulas (22) to (24) in the recursive formula that needs to be inverted is: [I_(p) _(t) +Φ_(t+1) ^(Tp) ^(t) R_(t)Φ_(t+1) ^(p) ^(t) ]⁻¹, wherein I_(p) _(t) and I_(p) _(t) +Φ_(t+1) ^(Tp) ^(t) R_(t)Φ_(t+1) ^(p) ^(t) are both matrices of p_(t)×p_(t), so the inversion calculation only needs to invert the matrix of one p_(t)×p_(t). When p_(t) is small, the calculation is significantly reduced in amount compared with the inversion calculation of

R t = [ ∑ i = 1 t Φ i p i ⁢ Φ T i p i ] - 1 . Compared with the traditional least square identification algorithm with an identification model y(t)=φ^(T) _(t){circumflex over (θ)}_(t−1)+e(t) and a recursive form {circumflex over (θ)}_(t+1)={circumflex over (θ)}_(t)+K_(t+1)e(t+1), every recursive process of the identification algorithm based on the identification model of vector prediction error uses multiple times of sampled data within a time window range that has a length of p_(t) and is previous to the time t, which enables higher data utilization, and increases coefficient identification accuracy and weighing efficiency.

The length of time window p_(t) in this embodiment is determined by the method below:

A length interval of the time window of the t^(th) sample time is defined as follows: P _(t)∈[P _(min) ,P _(max)]  (25) Wherein P_(min) represents the lower limit value of the length interval, and P_(max) represents the upper limit value of the length interval, i.e., the length of the time window p_(t) can slide from P_(min) to P_(max) according to statistical characteristics of the sampled data;

A standard deviation of a sequence formed by d system sample output values previous to a time t is defined as follows:

$\begin{matrix} {S_{t} = \sqrt{\frac{\sum\limits_{i = {t - d + 1}}^{t}\left( {y - \overset{\_}{y}} \right)^{2}}{d}}} & (26) \end{matrix}$ Wherein, it can be seen from tests for d that the stability and smoothness of local data can be better reflected when d=5; y_(i) represents a system sample output value at the i^(th) sample time, and y represents an average sample value of a sequence formed by d system sample output values previous to the time t, which is calculated by the following formula:

y _ = 1 d · ∑ i = t - d + 1 t y i ( 27 )

An initial recursive time of the recursive algorithm is set as t₀, and a sample standard deviation of d pieces of data previous to the initial time by the formula (26), which is set as S_(t0); and a self-adaptive function of the time window length is used to determine the time window length p_(t) at the sample time t as follows:

$\begin{matrix} {p_{t} = \left\lbrack {\left( {1 - \frac{S_{t}}{S_{t0}}} \right) \cdot P_{\max}} \right\rbrack} & (28) \end{matrix}$ Wherein,

$\left\lbrack {\left( {1 - \frac{S_{t}}{S_{t0}}} \right) \cdot P_{\max}} \right\rbrack$ represents a maximum integer not more than a real number

${\left( {1 - \frac{S_{t}}{S_{t0}}} \right) \cdot P_{\max}}.$

According to the method for quick weighing of loose and small packages of TCM in this embodiment, the actual weighing is carried out, wherein an AD sample frequency of an electronic weighing signal is 80 HZ, and an AD sample result is as shown in FIG. 1 . Recursion is completed for the sampled data at sample points after the fifth sample points according to the recursion process described above. FIG. 2 shows the identification result by using the traditional least square identification method, and FIG. 3 shows the identification result based on the identification model of the vector prediction error. It can be seen from the comparison that the least square coefficient identification fluctuates greatly at the first 10 sample points, and the estimated value levels off when the coefficient identification achieves the 20th sample points.

The identification method based on the identification model of the vector prediction error has been stable since the start of coefficient identification without any large oscillation. When the recursion proceeds to the 10th sample point, the coefficient estimated value has levelled off. By setting the actual mass of the medicine packages as M0, the weighing result obtained by the least square identification method is M1, and the weighing result obtained by the identification model of the vector prediction error is M2. Ten groups of data are respectively taken for analysis and comparison, and the comparison results are shown as follows:

TABLE 1 Weighing Results Based on Traditional Least Square Method M0 30.65 30.65 30.65 30.65 30.65 30.65 30.65 30.65 30.65 30.65 M1 52.75 33.93 31.81 31.40 31.48 31.37 31.44 31.41 31.32 31.46 Sample 5 10 15 20 25 30 35 40 45 50 point time t Error 72.1% 10.7 3.8% 2.4% 2.7% 2.3% 2.5% 2.4% 2.1% 2.6% rate

TABLE 2 Weighing Results through Identification Based on Identification Model of Vector Prediction Error M0 30.6 30.65 30.65 30.65 30.65 30.65 30.65 30.65 30.65 30.65 M2 42.8 31.14 31.12 31.13 31.17 31.16 31.17 31.16 31.15 31.17 Sample 5 10 15 20 25 30 35 40 45 50 time t Error 39.9 1.62 1.54% 1.57 1.68% 1.66% 1.69% 1.66% 1.64% 1.71% rate

It can be seen by comparison that the identification result based on the identification model of vector prediction error is fast in weighing speed, whereby the error rate is less than 2% at the 10th sample time and the weighing result thereafter is relatively stable; while the weighing result levels off for convergence after the 20th sample time in the traditional least square identification model which takes longer to weigh and results in a lower weighing efficiency than that of the method provided in the present disclosure. It can be seen from the weighing result data that the steady-state error data of the weighing result based on the traditional least square identification method fluctuates greatly, while the steady-state error data of the method provided in the present disclosure fluctuates less.

After the 10th sample time, the maximum error rate of the weighing method provided in the present disclosure is only 1.71%, which means the actual error mass is less than 1 g for a medicine package of a mass specification of 30 g. Since the objective is to obtain an accurate quantity of medicine packages when weighing and counting TCM packages without critical demand of the total mass data of packages, so the weighing method of the present disclosure does not affect the accurate counting of medicine packages, and the weighing accuracy of the method provided in the present disclosure fully satisfies the quick weighing requirement of loose and small TCM packages. The weighing method according to the present disclosure can make good use of the dynamic response characteristics of the system without having to wait for the signal to level off, and make full use of dynamic information of the system without too much consideration about setting the time, which makes it particularly suitable for meeting the requirement of quick TCM prescription filling and dispensing in traditional TCM pharmacies.

In addition, in practical application, since the recursive identification method based on the identification model of vector prediction error does not need to save all the sample values from the sample start time after acquiring new sample values every time, it has the advantages of a high calculation efficiency and a low memory overhead.

Finally, it is noted that the above embodiments are only for the purpose of illustrating the technical scheme of the present disclosure without limiting it, and those of ordinary skills in the art should understand that the modified scheme or equivalent alternative scheme substantially the same as the technical scheme of the present disclosure should also be included in the claim scope of the present disclosure. 

What is claimed is:
 1. A method for quick weighing of loose and small packages of traditional Chinese medicine (TCM), which is performed by a weighing system comprising a weighing sensor and a processor, comprising: 1) Establishing a calculation model for a mass of medicine packages by the processor, comprising: establishing an equivalent physical model of a weighing system for loose and small packages: $\begin{matrix} {{{\left( {M + m} \right)\frac{d{y(t)}^{2}}{d^{2}t}} + {c\frac{d{y(t)}}{dt}} + {k{y(t)}}} = {{Mgu}(t)}} & (1) \end{matrix}$ wherein, m is the equivalent mass of the medicine receiving tank; M is the mass of medicine packages; y(t) is the output signal of the weighing system; g is the gravitational acceleration; c is the equivalent damping coefficient of the weighing system; k is the equivalent elastic coefficient of the weighing system; when loose and small packages of TCM fall on the medicine receiving tank, the medicine packages will vibrate synchronously with the weighing system represented by the medicine receiving tank, which may be regarded as applying a step signal Mgu(t) to the weighing system, wherein u(t) represents the step signal; after Laplace transformation, the output signal is obtained as follows: $\begin{matrix} {{Y(s)} = {{Mg} \cdot \frac{1}{s} \cdot \frac{1}{{\left( {M + m} \right)s^{2}} + {cs} + k}}} & (2) \end{matrix}$ since the sampled signal is a discrete value, Z transformation is performed for Y(s) so as to obtain: $\begin{matrix} {{Y(z)} = {\frac{{b_{1}z^{- 1}} + {b_{2}z^{- 2}}}{1 + {a_{1}z^{- 1}} + {a_{2}z^{- 2}}} \cdot {U(z)}}} & (3) \end{matrix}$ wherein a₁, a₂, b₁, and b₂ are coefficients related to M, m, C, and k; and taking into account a weighing error caused by noise at an input terminal, the formula (3) is expressed by a difference equation as: y(t)=−a ₁ y(t−1)−a ₂ y(t−2)+b ₁ u(t−1)+b ₂ u(t−2)+e(t)  (4) in view of the formula (3) and according to the final-value theorem of the Z transformation, a system output in a steady state is obtained as follows: $\begin{matrix} {{\lim\limits_{t\rightarrow\infty}{y(t)}} = {{\lim\limits_{z\rightarrow 1}{\left( {z - 1} \right) \cdot {Y(z)}}} = {\frac{b_{1} + b_{2}}{1 + a_{1} + a_{2}} = \frac{Mg}{k}}}} & (5) \end{matrix}$ as a result, the calculation model for the mass of medicine packages M is obtained as follows: $\begin{matrix} {M = {\frac{k}{g} \cdot \frac{b_{1} + b_{2}}{1 + a_{1} + a_{2}}}} & (6) \end{matrix}$ wherein g is the gravitational acceleration, and k is the equivalent elastic coefficient of the weighing system; 2) Establishing a recursive model for identifying coefficients based on an identification model of vector prediction error by the processor, comprising that: a) a scalar prediction error at the time t of a sample sequence of the weighing system is defined as: e(t)=y(t)−[−â ₁ y(t−1)−â ₂ y(t−2)+{circumflex over (b)} ₁ u(t−1)+{circumflex over (b)} ₂ u(t−2)]=y(t)−φ^(T) _(t){circumflex over (θ)}_(t−1)  (7) In the formula t>2, wherein: φ_(t)=[−y(t−1),−y(t−2),u(t−1),u(t−2)]²  (8) {circumflex over (θ)}_(t−1)=[â ₁ ,â ₂ ,{circumflex over (b)} ₁ ,{circumflex over (b)} ₂]^(T)  (9) φ_(t) represents an information vector of the system at a time of the t^(th) sample point, {circumflex over (θ)}_(t−1) represents a coefficient identification result of the system at a time before the t^(th) sample point; y(t) represents a sample output sequence at the t^(th) sample point, y(t−1) represents a sample output sequence at a time before the t^(th) sample point, y(t−2) represents a sample output sequence at two times before the t^(th) sample point; u(t−1) is a sample output sequence at a time before the t^(th) sample point, u(t−2) is a sample output sequence at two times before the t^(th) sample point; â₁ is an estimated value of the coefficient a₁, â₂ is an estimated value of the coefficient a₂, {circumflex over (b)}₁ is an estimated value of the coefficient b₁, and {circumflex over (b)}₂ is an estimated value of the coefficient b₂; b) by taking into consideration p_(t) sets of data in total from the time t−p_(t)+1 to the time t of the weighing system sample sequence, it is set that: $\begin{matrix} {Y_{t}^{p_{t}} = \begin{bmatrix} {y(t)} \\ {y\left( {t - 1} \right)} \\  \vdots \\ {y\left( {t - p_{t} + 1} \right)} \end{bmatrix}} & (10) \end{matrix}$ $\begin{matrix} {\Phi_{t}^{p_{t}} = \left\lbrack {\varphi_{t},\varphi_{t - 1},\cdots,\varphi_{t - p_{t} + 1}} \right\rbrack} & (11) \end{matrix}$ wherein: p_(t) is a length of time window; Y_(t) ^(p) ^(t) represents an output vector formed by inverting a sample output sequence within a range p_(t) of the system previous to a time t; Φ_(t) ^(p) ^(t) represents an information matrix formed by inverting an information vector within a range p_(t) previous to a time t; p_(t) is a variable that varies along with any change of statistical properties of locally sampled data at the time t, resulting in the vector prediction error with an extended length of time window of p_(t) as follows: $\begin{matrix} {E_{t}^{p_{t}} = {\begin{bmatrix} {e(t)} \\ {e\left( {t - 1} \right)} \\  \vdots \\ {e\left( {t - p_{t} + 1} \right)} \end{bmatrix} = \begin{bmatrix} {{y(t)} - {\varphi_{t}^{T}{\overset{\hat{}}{\theta}}_{t - 1}}} \\ {{y\left( {t - 1} \right)} - {\varphi_{t - 1}^{T}{\overset{\hat{}}{\theta}}_{t - 2}}} \\  \vdots \\ {{y\left( {t - p_{t} + 1} \right)} - {\varphi_{t - p_{t} + 1}^{T}{\overset{\hat{}}{\theta}}_{t - p_{t}}}} \end{bmatrix}}} & (12) \end{matrix}$ E_(t) ^(p) ^(t) represents a vector formed by inverting a scalar prediction error sequence within a range p_(t) of the system starting from a time t; and, given that theoretically {circumflex over (θ)}_(t−1) is closer to a real value θ than an estimated value of a system coefficient at a previous time, {circumflex over (θ)}_(t−1) is used to replace the estimated value of the system coefficient at the previous time, so that the above formula may be altered into: $\begin{matrix} {E_{t}^{p_{t}} = {\begin{bmatrix} {{y(t)} - {\varphi_{t}^{T}{\overset{\hat{}}{\theta}}_{t - 1}}} \\ {{y\left( {t - 1} \right)} - {\varphi_{t - 1}^{T}{\overset{\hat{}}{\theta}}_{t - 1}}} \\  \vdots \\ {{y\left( {t - p_{t} + 1} \right)} - {\varphi_{t - p_{t} + 1}^{T}{\overset{\hat{}}{\theta}}_{t - 1}}} \end{bmatrix} = {Y_{t}^{p_{t}} - {{\Phi^{T}}_{t}^{p_{t}}{\overset{\hat{}}{\theta}}_{t - 1}}}}} & (13) \end{matrix}$ it can be known from the formula (13) that the weighing system is based on the identification model of a vector prediction error: Ŷ _(t) ^(p) ^(t) =Φ_(t) ^(Tp) ^(t) {circumflex over (θ)}_(t−1) +E _(t) ^(p) ^(t)   (14) the formula (14) is expressed as the identification model of the vector prediction error: c) according to the identification model of the vector prediction error, a criterion function is defines as below: $\begin{matrix} {{J\left( {\overset{\hat{}}{\theta}}_{t - 1} \right)} = {{\sum\limits_{i = 1}^{t}{{Y_{i}^{p_{i}} - {{\Phi^{T}}_{i}^{p_{i}}{\hat{\theta}}_{i - 1}}}}^{2}} = {\sum\limits_{i = 1}^{t}{E_{i}^{p_{i}}}^{2}}}} & (15) \end{matrix}$ wherein ∥E_(t) ^(p) ^(t) is a 2-norm of the vector E_(t) ^(p) ^(t) , and J({circumflex over (θ)}_(t−1)) is a criterion function; d) {circumflex over (θ)}_(t−1) that may minimize the criterion function is evaluated to obtain a coefficient estimated value based on the identification model of the vector prediction error, $\begin{matrix} {Z_{t} = \begin{bmatrix} Y_{1}^{p_{1}} \\ Y_{2}^{p_{2}} \\  \vdots \\ Y_{t}^{p_{1}} \end{bmatrix}} & (16) \end{matrix}$ $\begin{matrix} {H_{t} = \begin{bmatrix} {\Phi_{}^{T}}_{1}^{p_{1}} \\ {\Phi_{}^{T}}_{2}^{p_{2}} \\  \vdots \\ {\Phi_{}^{T}}_{t}^{p_{t}} \end{bmatrix}} & (17) \end{matrix}$ so that the criterion function may be expressed as: J({circumflex over (θ)}_(t−1))=(Z _(t) −H _(t){circumflex over (θ)}_(t−1))^(T)(Z _(t) −H _(t){circumflex over (θ)}_(t−1))  (18) a vector differential formula is used to derive J({circumflex over (θ)}_(t−1)) and set the result thereof as {circumflex over (θ)}_(t−1) so as to calculate {circumflex over (θ)}_(t−1) that may minimize the criterion function: $\begin{matrix} {{\overset{\hat{}}{\theta}}_{t - 1} = {{\left( {H_{t}^{T}H_{t}} \right)^{- 1}H_{t}^{T}Z_{t}} = {\left\lbrack {\sum\limits_{i = 1}^{t}{\Phi_{i}^{p_{i}}{\Phi^{T}}_{i}^{p_{i}}}} \right\rbrack^{- 1}\left\lbrack {\sum\limits_{i = 1}^{t}{\Phi_{i}^{p_{i}}{Y^{T}}_{i}^{p_{i}}}}\  \right\rbrack}}} & (19) \end{matrix}$ d) the recursive calculation form of {circumflex over (θ)}_(t−1) is derived, which sets that: $\begin{matrix} {R_{t}^{- 1} = {\sum\limits_{i = 1}^{t}{\Phi_{i}^{p_{i}}{\Phi_{}^{T}}_{i}^{p_{i}}}}} & (20) \end{matrix}$ so that: R _(t) ⁻¹ =R _(t−1) ⁻¹+Φ_(t) ^(P) ^(t) Φ_(t) ^(Tp) ^(t)   (21) after the simplification of the above formula by using the matrix inversion theorem, the recursive model for identifying coefficients based on the identification model of vector prediction error is finally obtained as follows: $\begin{matrix} {\left\{ \begin{matrix} {{\overset{\hat{}}{\theta}}_{t + 1} = {{\overset{\hat{}}{\theta}}_{t} + {L_{t + 1}E_{t + 1}^{p_{t}}}}} & {(22)} \\ {L_{t + 1} = {R_{t}{\Phi_{t + 1}^{p_{t}}\left\lbrack {I_{p_{t}} + {{\Phi^{T}}_{t + 1}^{p_{t}}R_{t}\Phi_{t + 1}^{p_{t}}}} \right\rbrack}^{- 1}}} & {(23)} \\ {R_{t + 1} = {R_{t} - {L_{t + 1}{\Phi^{T}}_{t + 1}^{p_{t}}R_{t}}}} & {(24)} \end{matrix} \right.} &  \end{matrix}$ wherein L_(t+1) is an algorithm gain vector; the coefficient estimation vector {circumflex over (θ)}_(t+1) at the time t+1 is the product of the gain vector L_(t+1) and the vector prediction error E_(t+1) ^(p) ^(t) , which corrects the coefficient estimation vector {circumflex over (θ)}_(t) at the time t; 3) Calculating a weight of target medicine packages based on the calculation model for the mass of medicine packages and the recursive model for identifying coefficients by the processor, comprising: (1) initialization: a start time is set as t₀=5, which indicates the recursion process starts from the fifth sampling point of the sampling sequence, {circumflex over (θ)}₅=[0, 0, 0, 0]^(T); R₅=α·I₄, wherein α is a sufficiently large positive integer, I₄ represents an identity matrix of 4×4; and at the same time, a number of times, N, of recursive iteration is set; (2) by analyzing the statistical characteristics of locally sampled data, the length of time window p_(t) is determined; at the same time, the sample output sequence and the input sequence of the weighing system are obtained to construct an output vector Y_(t+1) ^(p) ^(t) according to the formula (10), and to construct an information matrix Φ_(t+1) ^(p) ^(t) according to the formulas (8) (11), wherein the sample output sequence is collected from the weighing sensor; and then a vector prediction error E_(t+1) ^(p) ^(t) is obtained by using the formula (13); (3) L_(t+1) and R_(t+1) are calculated according to the formula (23) and formula (24) in the recursion formula, and then {circumflex over (θ)}_(t+1) is calculated according to the formula (22); (4) it is determined whether t=t+1 has reached a specified number of iteration times N, if not, proceed to the step (2); or otherwise end the recursion process, thereby obtaining a₁, a₂, b₁, and b₂; (5) according to a₁, a₂, b₁, and b₂ obtained in the step (4) and the formula (6), obtaining the weight of the loose and small packages of TCM that are weighed.
 2. The method for quick weighing of loose and small packages of TCM according to claim 1, wherein: the length of time window p_(i) is determined as below: a length interval of the time window of the t^(th) sample time is defined as follows: P _(t)∈[P _(min) ,P _(max)]  (25) Wherein P_(min) represents the lower limit value of the length interval, and P_(max) represents the upper limit value of the length interval, i.e., the length of the time window p_(i) can slide from P_(min) to P_(max) according to statistical characteristics of the sampled data; a standard deviation of a sequence formed by d system sample output values previous to a time t is defined as follows: $\begin{matrix} {S_{t} = \sqrt{\frac{\sum\limits_{i = {t - d + 1}}^{t}\left( {y_{i} - \overset{\_}{y}} \right)^{2}}{d}}} & (26) \end{matrix}$ wherein, it can be seen from tests for d that the stability and smoothness of local data can be better reflected when d=5; y_(i) represents a system sample output value at the i^(th) sample time, and y represents an average sample value of a sequence formed by d system sample output values previous to the time t, which is calculated by the following formula: y _ = 1 d · ∑ i = t - d + 1 t y i ( 27 ) an initial recursive time of the recursive algorithm is set as t₀, and a sample standard deviation of d pieces of data previous to the initial time by the formula (26), which is set as S_(t0); and a self-adaptive function of the time window length is used to determine the time window length p_(t) at the sample time t as follows: $\begin{matrix} {p_{t} = \left\lbrack {\left( {1 - \frac{S_{t}}{S_{t0}}} \right) \cdot P_{\max}} \right\rbrack} & (28) \end{matrix}$ wherein, $\left\lbrack {\left( {1 - \frac{S_{t}}{S_{t0}}} \right) \cdot P_{\max}} \right\rbrack$ represents a maximum integer not more than a real number ${\left( {1 - \frac{S_{t}}{S_{t0}}} \right) \cdot P_{\max}}.$
 3. The method for quick weighing of loose and small packages of TCM according to claim 1, wherein: in the recursion process, α=10⁷ a number of iteration times N is 8-10. 